草庐IT

MySQL GROUP BY 和 COUNT 多列

全部标签

mysql - 使用 Anorm 批量插入具有许多列的表

我正在尝试使用Anorm(在playframework2.3.1中)对MySQL数据库表进行批量插入。我正在构建的应用程序除了需要批量数据插入外,还有一个标准的Web前端,我想尝试将逻辑保持在同一个软件堆栈上。插入只会进入相同的几个表。一次要插入的行数将达到数百,可能会达到数千,我预计由于anorm/mysql/其他限制,我可能需要在某个时候限制插入的行数。我使用的MySQL驱动是mysql-connector-java-5.1.31下面是一个简化的用例。使用表格:CREATETABLEtable1(col1INTEGERNOTNULL,col2BIGINT,col3VARCHAR(2

mysql - 多列 IN 子句

有没有办法只使用一个使用多列IN子句的查询来实现以下联合查询?而不是使用select*fromtable_awherefield_ain(selectfield_1fromtable_b)unionselect*fromtable_awherefield_ain(selectfield_2fromtable_b);我想创建如下所示的内容:select*fromtable_awherefield_ain(selectfield_1,field_2fromtable_b); 最佳答案 最多只能将联合放在子查询中:select*fromt

mysql - 带 LEFT JOIN 和 GROUP BY 的 COUNT(*) 在 MySQL 中包含 NULL

我正在尝试从一个表中获取结果,其中包括外部表中的出现次数。该表可以有0次或多次出现。就像下面的例子:表格:颜色+------+---------+|id|name|+------+---------+|1|red||2|blue||3|yellow||4|green|+------+---------+table:水果+--------+----------+|name|color_id|+--------+----------+|apple|1||banana|3||grape|4||lemon|3|+--------+----------+所以我需要列出水果表中的每种颜色和出现情况

Mysql:依赖于列的 COUNT() 的 WHERE 语句?

我已经阅读了大量有关SO的答案,但仍然无法正常工作。我很确定我需要一个子查询,但不知道应该从哪里开始...这是我想做的可读/伪造的:SELECTDISTINCTcat_sub.*,COUNT(job.job_id)ASnum_properties_which_meet_criteriaFROMcat_subLEFTJOINjob_catUSING(sc_id)LEFTJOINjobUSING(job_id)WHEREjob.village_id=2ANDnum_properties_which_meet_criteria>0GROUPBYsc_id我正在尝试让我的WHERE引用job表

MySQL:跨多个表的多列连接?

我有一组三张表:Dining_Tables;+--------------------+--------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+--------------------+--------------+------+-----+---------+-------+|dining_table|int(11)|NO|PRI|NULL|||bus_boy|varchar(35)|NO||NULL|||waiter|varchar(35)|NO||NULL|||server

mysql - Eloquent count distinct 返回错误的总数

我对如何Eloquent地制定一个我无法访问的查询有疑问。当做类似的事情时$model->where('something')->distinct()->paginate();Eloquent运行一个查询来获取总数,查询看起来像这样selectcount(*)asaggregatefrom.....问题是,如果您在查询中使用distinct,您需要像selectcount(distinctid)asaggregatefrom.....得到正确的总数。Eloquent并没有这样做,因此返回了错误的总数。获得不同计数的唯一方法是像这样通过查询构建器传递一个参数->count('id')在这

MySQL DELETE 使用 Having 和 Count 的子查询

我正在尝试使用以下查询删除多个条目:首先,我使用此查询找到要删除的条目:SELECTguidFROMaccountGROUPBYguid,typeHAVINGcount(type)>1);然后我将此查询添加到DELETE语句中:DELETEFROMaccountWHEREguidIN(SELECTguidFROMaccountGROUPBYguid,typeHAVINGcount(type)>1);但是我得到这个错误:您不能在FROM子句中指定要更新的目标表“account” 最佳答案 我认为您需要使用临时表来实现您的需求,如下所示

mysql - SELECT count(*) 比 SELECT count(*) 慢两倍,MySQL 中的 some_column

我有两个简单的查询:SELECTcount(*)FROMtable1WHEREcond1=exp1ANDcond2=exp2返回行数。例如47.SELECTcount(*),some_columnFROMtable1WHEREcond1=exp1ANDcond2=exp2返回行数,例如47,以及some_column中的任意值,它比第一个查询快两倍!我直接在服务器上测试了它,当然是通过GUI(HeidiSQL),结果是一样的,查询2快了一倍!知道为什么会这样吗?我在WinServer2012上使用MySQL服务器5.6.21和Apache/PHP5.3。更新1:CREATETABLE`

php - Laravel Eloquent 多列 IN 子句

我最近开始使用Laravel进行开发,我的第一个项目是一个车辆预订应用程序。我似乎做得很好,但是我无法尝试使用Eloquent显示当前预订。系统的工作原理是将车辆添加到vehicles表,将员工添加到employees表。使用employee_vehicle创建与数据透视表的多对多关系。员工+------------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+------------+-------------+------+-----+------

php - 特定条件下的 MySQL COUNT() 总帖子数?

我一直在想弄清楚我做错了什么,在我直接回答问题之前,让我稍微解释一下我的MySQL结构(以便您更好地理解)。我有一个简单的PHP论坛,我在两个表(用于帖子和主题)中都有一个名为“已删除”的列,如果它等于0,则表示它显示(被认为未删除/存在),或者如果它等于1,则它隐藏(被认为已删除/不存在)-bool/lean。现在,我正在讨论的“特定标准”...我想使用其ID(forum_id)获取特定论坛中的帖子总数,确保它只计算未删除的帖子(已删除=0)并且它们的父主题也没有被删除(deleted=0)。列/表名称是不言自明的(如果需要,请参阅下面我为它们所做的努力)。我尝试了以下方法(使用“简